package com.chuyu.cy.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chuyu.cy.entity.domain.TemporaryNeeds;
import com.chuyu.cy.entity.vo.NeedsVO;

import java.util.List;

/**
* @author 周小白
* @description 针对表【temporary_needs(临时需求表)】的数据库操作Mapper
* @Entity com.chuyu.cy.entity.domain.TemporaryNeeds
*/
public interface TemporaryNeedsMapper extends BaseMapper<TemporaryNeeds> {


    /**
     * 获取需求列表
     * @param kindId 需求类型id
     * @param pageStart 页起始
     * @param pageSize 页大小
     * @return 需求列表
     */
    List<NeedsVO> getNeedsList(Integer kindId, Integer pageStart, Integer pageSize);



    /**
     * 获取用户发布的需求列表
     * @param userId 用户id
     * @param pageStart 页起始
     * @param pageSize 页大小
     * @return 需求列表
     */
    List<NeedsVO> getPublishedNeedsList(Integer userId, Integer pageStart, Integer pageSize);



    /**
     * 获取用户匹配的需求列表
     * @param userId 用户id
     * @param pageStart 页起始
     * @param pageSize 页大小
     * @return 需求列表
     */
    List<NeedsVO> getMatchedNeedsList(Integer userId, Integer pageStart, Integer pageSize);



    /**
     * 获取用户未评价的需求列表
     * @param userId 用户id
     * @param pageStart 页起始
     * @param pageSize 页大小
     * @return 需求列表
     */
    List<NeedsVO> getUnratedNeedsList(Integer userId, Integer pageStart, Integer pageSize);



    /**
     * 获取用户已评分的需求列表
     * @param userId 用户id
     * @param pageStart 页起始
     * @param pageSize 页大小
     * @return 需求列表
     */
    List<NeedsVO> getRatedNeedsList(Integer userId, Integer pageStart, Integer pageSize);




    /**
     * 获取匹配者的需求列表
     * @param matcherId 匹配者id
     * @return 需求列表
     */
    List<TemporaryNeeds> getMatcherNeeds(Integer matcherId);



    /**
     * 获取发布者的需求列表
     * @param publisherId 发布者id
     * @return 需求列表
     */
    List<TemporaryNeeds> getPublishedNeeds(Integer publisherId);
}




